Dynamic range compression method

ABSTRACT

A method for compressing the dynamic range of an image sensor ( 202 ) including a multiplicity of pixels. The method includes the steps of exposing each of the pixels to light and producing an associated photocurrent per pixel, representative of the light exposure. Then, on a per-pixel basis, controlling exposure time of each of the pixels on the basis of a monotonically rising convex function of the associated photocurrent of each of the pixel.

FIELD OF THE INVENTION

[0001] The present invention relates to methods and apparatus for controlling pixels in image sensors generally and per pixel manipulation in particular.

BACKGROUND OF THE INVENTION

[0002]FIG. 1 depicts a prior art charge integration pixel 10 located at the i-th row and a j-th column of a vision sensor (not shown). Pixel 10 comprises a photodetector represented by current source I_(ph)(i,j), a switch 12, a capacitor 14 and a readout circuit 16. Switch 12 may be any type of sample and hold a device such as a semiconductor. Capacitor 14 functions as a storage device or, specifically, as an integration capacitor.

[0003] Pixel 10 generates photocurrent I_(ph)(i,j), which is generally proportional to the intensity of the light impinging on the photodetector. When closed, switch 12 conducts photocurrent I_(ph)(i,j) and charges the capacitor 14. In some embodiments, prior to charge integration, capacitor 14 is completely discharged. In this instance, initial voltage V_(initial) across the capacitor 14 is 0 and rises linearly with the accumulation of charge.

[0004] If photocurrent I_(ph)(i,j) is time invariant during charge integration, and if switch 12 is shut for an exposure time t=t_(E)(i,j), then an accumulated charge Q^(a) may be calculated as per equation (1).

Q ^(a)(i,j)=I _(ph)(i,j)·t _(E)(i,j)  (1)

[0005] The accumulated voltage V^(c)(i,j) across capacitor 14 is: $\begin{matrix} {{V^{c}\left( {i,j} \right)} = \frac{{I_{p\quad h}\left( {i,j} \right)} \cdot {t_{E}\left( {i,j} \right)}}{C_{I}}} & (2) \end{matrix}$

[0006] where C₁ is the capacitance of capacitor 14.

[0007] Proof for the following is described in full in the attached Appendix. Herein are some of the equations necessary for understanding the present invention. For ease of understanding, the equation numbers in the specification correspond to those in the Appendix.

[0008] The ratio between the saturation voltage V_(Sat)^(c)

[0009] and the cutoff voltage V_(CO)^(c)

[0010] is defined in equation (5) as the electrical signal dynamic range DR^(S). $\begin{matrix} {{DR}^{s} = \frac{V_{Sat}^{c}}{V_{CO}^{c}}} & (5) \end{matrix}$

[0011] From the Appendix it can be seen that for conventional sensors with global exposure time setting, the captured image dynamic range DR^(L) can be defined as in equation (12), $\begin{matrix} {{DR}^{L} = \frac{V_{Sat}^{c}}{V_{CO}^{c}}} & (12) \end{matrix}$

[0012] For prior art image sensors with globally set exposure time, the captured image dynamic range DR^(L) is equal to the electric signal dynamic range DR^(S) and is exposure time invariant.

[0013] Some image sensors have individually per-pixel-controlled electronic shutters, such as those described in U.S. patent applications Ser. No. 09/426,452 “Image Sensor's Unit Cell with Individually Controllable Electronic Shutter Circuit” and Ser. No. 09/516,168 “Image Sensor Architecture for Per-Pixel Charge Integration Control”. For those image sensors, the captured image dynamic range can be shown by equation (17):

DR ^(L) =DR ^(S) ·DR ^(T)  (17)

[0014] where the shutter or exposure time dynamic range DR^(T) is the ratio of the maximum to the minimum exposure time T^(E). $\begin{matrix} {{DR}^{T} = \frac{t_{E}^{\max}}{t_{E}^{\min}}} & (18) \end{matrix}$

[0015] One result from (12) and (17) is that for image sensors with per-pixel-controlled electronic shutters, the captured scene dynamic range DR^(L) may be at most an electrical signal dynamic range DR^(S) times better than the prior art image sensor's dynamic range. For instance, if the electric signal dynamic range DR^(S) is 1,000:1, and the exposure time setup is in the same, then the captured scene dynamic range DR^(L) can be 1,000,000:1, or about 120 db. Thus there is still an incentive to improve the electrical signal dynamic range, since it directly affects the results for image sensors with per-pixel-controlled electronic shutters.

[0016] In image sensors with per-pixel exposure time control, since the dynamic range is time dependant and can be significantly improved by efficient management of the exposure time t_(E), there is a need to develop a method and apparatus for definition of a generally optimal exposure time per cell, or pixel.

SUMMARY

[0017] There is therefore provided, in accordance with an embodiment of the present invention, a method for compressing the dynamic range of an image sensor including a multiplicity of pixels. The method includes the steps of exposing each of the pixels to light and producing an associated photocurrent per pixel, representative of the light exposure. Then, on a per-pixel basis, controlling exposure time of each the pixels on the basis of a monotonically rising convex function of the associated photocurrent of each the pixel.

[0018] The method may further include calculating the exposure time of each the pixel on the basis of the monotonically rising convex function and/or calculating the exposure time of each the pixel on the basis of the associated photocurrent. The method may also include calculating a first derivative of the monotonically rising convex function based upon a desired sensitivity of the exposure time of each the pixel.

[0019] The step of controlling may include storing the calculated exposure times per pixel, accessing the stored exposure times from the memory, and programming the pixels according to the accessed exposure times.

[0020] The method may further include accumulating charge generally linearly representative of the photocurrent and calculating the photocurrent as a product of the accumulated charge.

[0021] There is therefore provided, in accordance with an embodiment of the present invention, an exposure controller for use in an image sensor including a multiplicity of pixels. The controller may include a memory, a per-pixel parameter and a processor. The memory may store calculated exposure time values. The per-pixel parameter table may contain local parameters of the pixels. The processor may combine, based on a set of convergence criteria, the stored exposure time values and the parameters in order to determine, on a per-pixel basis, an exposure time of-the pixels.

[0022] The set of convergence criteria may be based on a set of algorithms capable of deriving an appropriate exposure time for every pixel based on the monotonically rising convex function. The set of algorithms may be capable of deriving a fine tuned exposure time of the pixels.

[0023] The exposure controller may be a chip-set external to the image sensor, or alternatively, at least partially integrated on the same substrate as the image sensor.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings, in which:

[0025]FIG. 1 depicts a prior-art charge integration pixel located at the i-th row and a j-th column of a vision sensor;

[0026]FIG. 2 is a graphic illustration (prior-art) voltage V^(c) as a function of I_(ph) and exposure time T_(E);

[0027]FIG. 3 depicts the dynamic range compression function V^(c)=f(I_(ph));

[0028] FIGS. 4A/B details one embodiment of an initial setup algorithm;

[0029]FIG. 5 details one embodiment of a fine tune algorithm to be used in conjunction with the algorithm of FIG. 4;

[0030]FIG. 6 is a block diagram representing the present invention as constructed and operated on an image sensor that facilitates individually controlled pixels.

DETAILED DESCRIPTION

[0031] The present invention is a method for controlling dynamic range compression via usage of a monotonically rising convex function. The present specification outlines a set of methods, analytical and tabular functions, and algorithms for capturing images. The methods and algorithms described herein may be used in conjunction with the image sensors described in U.S. patent applications Ser. No. 09/426,452 “Image Sensor's Unit Cell with Individually Controllable Electronic Shutter Circuit” and Ser. No. 09/516,168 “Image Sensor Architecture for Per-Pixel Charge Integration Control”, or with other image sensors capable of per-pixel electronic shutter control. The present invention may be applied to generally dynamic range compression.

[0032] In one embodiment of the present invention each pixel's exposure is controlled on the basis of its photocurrent, and is done in a way that allows implementation of a desirable dynamic range compression function.

[0033] Another embodiment of the present invention is a per-pixel exposure control hardware/firmware/software apparatus and an exposure time processor usable to derive the per-pixel electronic shutter value.

[0034] The present invention defines a class of dynamic range compression functions selectable from a generally infinite set of functions The class of functions exclusively used for compression is mathematically defined as monotonically rising convex functions, or functions which fulfill the following conditions: for I_(ph1)>I_(ph2), f(I_(ph1))>f(I_(ph2)), and f′(I_(ph1))<f′(I_(ph2)), where f′ is the first derivative of the function f by its argument I_(ph). Thus the derivative function is a monotonically falling function.

[0035] Out of an infinite range of possibilities, only the logarithmic function of the kind f(I_(ph))=c₁+c₂·log₁₀ (I_(ph)) is known to be used in prior art image sensors. This function is implemented in logarithmic sensors; thus the sensors are capable of a logarithmic response but are incapable of individual per-pixel electronic shutter control.

[0036]FIG. 3 depicts three different functions for varying exposure times t_(E), including a representation of a dynamic range compression function V^(c)=f(I_(ph)) useful in the shaping of the response in a pixel or unit cell. Typically, the function may be a monotonically rising convex function of I_(ph).

[0037] A linear representation 30 illustrates the accumulated voltage V^(c) when exposure time t_(E)=t_(E) ^(MIN). A linear representation 34 illustrates the accumulated voltage Vc when the exposure time t_(E)=t_(E) ^(MAX). Finally, a linear representation 32 illustrates the accumulated voltage V^(c) according to the monotonically rising convex function. For representation 32, when photocurrent I_(ph1)>I_(ph2) is in the cutoff photocurrent I_(ph) ^(CO) to saturation photocurrent I_(ph) ^(Sat) range:

f(I_(ph1))>f(I_(ph2)), and  (23) $\begin{matrix} {\frac{{f\left( I_{p\quad h} \right)}}{I_{p\quad h}}{_{I_{p\quad h} = I_{p\quad {h1}}}{< \frac{{f\left( I_{p\quad h} \right)}}{I_{p\quad h}}}}_{I_{p\quad h} = I_{p\quad {h2}}}} & (24) \end{matrix}$

[0038] The monotonically rising characteristics of the function ensure that original scene features are preserved.

[0039] The monotonically falling characteristics of the first derivative result in larger accumulated voltage V^(c) increments for photocurrents I_(ph) closer to the cutoff photocurrent I_(ph) ^(CO), which equates to weaker light intensity signals. Conversely, the voltage V^(c) increments are smaller for photocurrents I_(ph) closer to saturation photocurrent I_(ph) ^(Sat), which equates to stronger signals. This results in generating greater signal swings for the weaker signals around the level of cutoff photocurrent I_(ph) ^(CO) and smaller swings for the stronger signals around the saturation photocurrent I_(ph) ^(Sat).

[0040] The first derivative of the function thus produces a change in the accumulated voltage V^(c) as a result of a change in photocurrent I_(ph), and may be defined as a sensitivity function S(I_(ph)), where, $\begin{matrix} {{S\left( I_{p\quad h} \right)} = \frac{{f\left( I_{p\quad h} \right)}}{I_{p\quad h}}} & (25) \end{matrix}$

[0041] For some applications it is desirable that the sensitivity be high at or close to the cutoff photocurrent I_(ph) ^(CO). This is advantageous even allowing for the tradeoff of less sensitivity closer to the saturation photocurrent I_(ph) ^(Sat) where stronger light-intensity swings are anticipated.

[0042] Please note that although the sensitivity itself is compression function dependant, the maximum captured scene dynamic range DR^(L) is not, as has been demonstrated in formulas (17) and (18).

[0043] Another feature of the monotonically rising convex function is that there is a one-to-one correspondence between the accumulated voltage V^(c) function values and the photocurrent I_(ph) function. The monotonically rising convex function is inverse only in the range between cutoff and saturation photocurrents I_(ph) ^(CO) and I_(ph) ^(Sat). This means that there exists a function f¹ for which,

I _(ph) =f ⁻¹(V ^(c)), in the range [V^(c) _(CO), V^(c) _(Sat)]  (26)

[0044] It is important to note that this feature enables the calculation of photocurrent I_(ph) on the basis of a measurable voltage V^(c) (FIG. 1). This in-turn allows for determining the exposure time t_(E) for every pixel, to be described hereinbelow.

[0045] The dynamic range compression function can be selected to meet the required performance or the observer's taste. Included within the scope of this invention are other applicable functions that are of the monotonically rising, convex type, which can be presented either in an analytical or in a tabular form. While prior art has emphasized the usage of logarithmic functions, it is asserted that alternative functions, such as the monotonically rising convex function, are applicable.

[0046] Logarithmic function, such as that followed by the human eye's retina response, is well-known and widely used. For the logarithmic function, which spans the entire dynamic range, it can be demonstrated that, $\begin{matrix} {V^{c}\left( {{I_{{p\quad h})} = {{f\left( I_{p\quad h} \right)} = {\frac{{{V_{Sat}^{c} \cdot \log_{10}}\frac{I_{p\quad h}}{I_{p\quad h}^{CO}}} + {{V_{CO}^{c} \cdot \log_{10}}\frac{I_{p\quad h}^{Sat}}{I_{p\quad h}}}}{\log_{10}\frac{I_{p\quad h}^{Sat}}{I_{p\quad h}^{CO}}}{and}}}},} \right.} & (27) \\ {{S\left( I_{p\quad h} \right)} = {\frac{V_{Sat}^{c} - V_{CO}^{c}}{\log_{10}{ \cdot \log_{10}}\frac{I_{p\quad h}^{Sat}}{I_{p\quad h}^{CO}}} \cdot \frac{1}{I_{p\quad h}}}} & (28) \end{matrix}$

[0047] Thus, for a logarithmic dynamic range compression function, the sensitivity S is inversely proportional to photocurrent I_(ph) or inversely proportional to the light intensity.

[0048] One method for shaping the dynamic range to meet the required compression function is described now. The present invention describes a method and apparatus for setting the exposure time tE for each pixel to accomplish a high dynamic range which complies with the selected dynamic range compression function on one hand and with the captured scene on the other.

[0049] The exposure time setup may be divided into two parts, an initial setup and fine tuning, illustrated in FIGS. 4A/B and 5 respectively.

[0050] Reference is now made to FIGS. 4A/B, a block diagram illustrating an initial setup process 40. Process 40 comprises three phases: a charge integration phase (steps 42-56), an identification of always-off pixels phase (steps 58-80) and an identification of always-on pixels phase (steps 82-102).

[0051] Charge integration phase: Process 40 commences (step 42) with selection of the pixel at location (i=0, j=0) (step 44). The time exposure t_(E) of the pixel at (i=0, j=0) is set to t_(E) ^(MIN) (step 46). Via steps 48-54, process 40 increments from pixel to pixel along both the V and the H axis, setting the time exposure t_(E) of each pixel to t_(E) ^(MIN). The loop of steps 46-54 is completed when the time exposure t_(E) of the last pixel at the location (i=H−1, j=V−1) (steps 48 and 54, respectively) is set to t_(E) ^(MIN). In step 56 an image is captured and there is charge integration of all the pixels.

[0052] It is noted that, similarly, process 40 could commence with initializing all the pixels to t_(E) ^(max) rather than to t_(E) ^(min).

[0053] Identification of the “Always off” Pixels (always saturated). This phase commences with selection of the pixel at location (i=0, j=0) (step 58). In step 60, the voltage V^(c) of the pixel is read. If the voltage V_(c) accumulated (during the exposure time t_(E) ^(min)) is greater than the saturation value V^(c) _(Sat) (step 62), their exposure setup is left unchanged at t_(E) ^(min).

[0054] It is noted that the assumption is that the voltage V^(c)(i,j) over the integration capacitor is directly measurable. Alternatively, even without this assumption, an output voltage V_(Out)(i,j)—video output signal may represent the V^(c)(i,j). There are also V_(Out) values that correspond to V^(c) _(CO), and V^(c) _(Sat).

[0055] For pixels whose voltage V^(c)(i,j) is in the linear range, e.g. V^(c) _(CO)≦V^(c)(i,j)≦V^(c) _(Sat), (step 64) the photocurrent I_(ph) is calculated (step 66), and the exposure time t_(E) is adjusted (step 68) to match the dynamic range compression function f(I_(ph)). Pixels that fall below the cutoff (step 64) are assigned maximal exposure time t_(E) ^(max) (step 70).

[0056] Via steps 72-78, the process 40 increments from pixel to pixel along both the V and the H axis, repeating steps 60-70, as appropriate, until the last pixel at the location (i=H−1, j=V−1) (steps 72 and 78, respectively) are assigned an exposure time. In step 80 an image is captured and there is charge integration of all the pixels.

[0057] Identification of the “Always On” Pixels. This phase commences with selection of the pixel at location (i=0, j=0) (step 82). Only pixels that were at cutoff in the previous cycle are checked, e.g. those pixels whose exposure time is set to t_(E) ^(max) in step 70. In an alternative embodiment, all the pixels may be rechecked.

[0058] In step 84, the voltage V^(c) of the pixel is read. If the measured V^(c)(i,j) is below the cutoff (V^(c)(i,j)<V_(c) _(CO)) (step 88), the exposure time is left at maximum, i.e. t_(E) ^(max). If the measured value is in the linear range (step 88), the photocurrent I_(ph) is calculated (step 90) and voltage V^(c)(i,j) is adjusted (step 92) to match the dynamic range compression function f(I_(ph)).

[0059] Via steps 94-100, process 40 increments from pixel to pixel along both the V and the H axis, repeating steps 84-92, as appropriate until the last pixel at the location (i=H−1, j=V−1) (steps 94 and 100, respectively) are assigned an exposure time. Process 40 ends at step 102.

[0060] Reference is now made to FIG. 5, a block diagram illustrating a fine tuning process 110. During process 110 corrections are made to those pixels that fall within the linear operation range. The corrections are performed cyclically for all the pixels, such that the match-up to the dynamic range compression function is improved. The corrections may be aborted if a desirable convergence is accomplished or based upon other criteria or considerations.

[0061] In theory, an image sensor behaves linearly and the integration capacitor's voltage rises linearly with time for a constant photocurrent I_(ph) between the cutoff and saturation photocurrent I_(ph) ^(CO) and I_(ph) ^(Sat), respectively. In this case, the photocurrent I_(ph) derived during the initial setup process 40 may be generally precise. Also, the exposure time t_(E) derived ta match the desired dynamic range compression function is generally accurate.

[0062] In practice, the linearity assumption may be correct to the first order approximation. Also, the integration capacitor value C_(I) may vary somewhat with voltage V^(c) and with pixel location.

[0063] The method described in FIG. 5 is adapted to account for inaccuracies and to finely tune the exposure time t_(E) to compensate for non-linearity and for skews. The method is based on the accurate tracking by the voltage V^(c) of the dynamic range compression function.

[0064] The method corrects the exposure time t^(E) values until the disparity between the measured integration capacitor's voltage V^(C) and the dynamic range compression function value reaches a desirable accuracy.

[0065] It is noted that when the f(I_(ph)) function value is equal to the measured voltage V^(c)(i,j), the current exposure time t_(E)(i,j) and the new calculated exposure time t_(E) ^(new) are the same. The method also takes into account-that during the process of tuning the exposure time t_(E)(i,j), the accumulated voltage V^(c)(i,j) may exceed the “lineae” range and corrects the exposure time t_(E) accordingly.

[0066] Process 110 starts (step 112) with the assumption that the exposure time for each pixel has been initially set as described in process 40. Then, an image capture takes place, e.g. charge integration (step 114). In step 116 the process commences with the pixels at location (i=0, j=0) and the voltage V^(c) is read (step 118). If the V^(c)(i,j) falls into the linear range (step 120), an exposure time t_(E) correction takes place (steps 122-124), First, photocurrent I_(ph) is calculated on the basis of the measured V^(c)(i,j) and the integration capacitor capacitance C_(I) (step 122). A new exposure time t_(E) ^(new) is then calculated to adjust for the measured integration capacitor voltage V^(c) (step 124).

[0067] The new exposure time t_(E) ^(new) is checked to see if it falls in the exposure time range of [t_(E) ^(min), t_(E) ^(max)] (step 126). If the newly calculated exposure time is below the minimum (step 128), it is set to t_(E) ^(min) (step 130). If it is above the maximum, it is set to t_(E) ^(max) (step 131). If the exposure time t_(E) ^(new) is in the exposure time range of [t_(E) ^(min), t_(E) ^(max)], and if the difference between the exposure time t_(E) ^(new) and the current value t_(E) is greater than εt_(E) (step 134), the current exposure time t_(E) value is replaced with the newly calculated value t_(E) ^(new). εt_(E) is an empirically set programmable value.

[0068] After the entire array is scanned (steps 138-142 are used for incrementation of the pixels, and steps 118 to 138 are repeated for all pixels), a decision is made (step 142) whether to continue or discontinue (step 144) the fine-tune process. This decision may be based upon reaching a desirable convergence criteria, in average, or in the worst case. Also, the decision may be based upon the observers subjective impression.

[0069] The exposure time fine-tuning method 1110 is one representation of many potential variations, all of which are encompassed by the principles of the present invention. Alternatives or variations to the present invention are as follows:

[0070] Per-pixel parametric tables: The capacitance c_(I), saturation voltage V^(c) _(Sat), cutoff voltage V^(c) _(CO), and other parameters which might vary with the pixel location, may be determined on a per-pixel basis and stored in the image-sensor's pixel-associated memory tables (not shown). The methods described here above and similar methods may be modified accordingly.

[0071] The photocurrent I_(ph) and the exposure time t_(E) may be calculated using focal parameters rather than global constants. That is, capacitance C_(I), saturation voltage V^(c) _(Sat), cutoff voltage V^(c) _(CO) may be replaced by C_(I)(i,j), V_(c) ^(Sat)(i,j), and V^(c) _(CO)(i,j) respectively. This may result in a faster convergence.

[0072] Accounting for noise: Due to noise, the exposure time t_(E) may fluctuate. In order to reduce noise dependant fluctuations, the evaluation of the new exposure time t_(E) ^(new) may be modified as follows: $\begin{matrix} {t_{E}^{new} = {\frac{{N\left( {i,j} \right)} - 1 + \frac{f\left( I_{p\quad h} \right)}{V^{c}\left( {i,j} \right)}}{N\left( {i,j} \right)} \cdot {t_{E}\left( {i,j} \right)}}} & (29) \end{matrix}$

[0073] where N(i,j) is the number of image acquisition iterations per pixel in the (i,j) location, for which the integration capacitor's voltage V^(c) is in the linear region.

[0074] Convergence Criteria: Convergence criteria based upon the standard deviation may be used: $\begin{matrix} {{\sigma \quad {t_{E}^{new}\left( {i,j} \right)}} = \frac{\left\{ {{\left\lbrack {{N\left( {i,\quad j} \right)} - 1} \right) \cdot \left\lbrack {\sigma \quad {t_{E}\left( {i,j} \right)}} \right\rbrack^{2}} + \left\lbrack {{t_{E}^{new}\left( {i,\quad j} \right)} - {t_{E}\left( {i,\quad j} \right)}} \right\rbrack^{2}} \right\}^{\frac{1}{2}}}{N\left( {i,\quad j} \right)}} & (30) \end{matrix}$

[0075] where σt_(E)(i,j), is the standard deviation in t_(E)(i,j) after the N−1 th iteration, and σt_(E) ^(new)(i,j) is the new standard deviation calculated after the current iteration. Further exposure time iterations can be stopped, if the worst case σt_(E)(i,j) for any i, and j is below a certain atE value. That is,

σt_(E)(i,j)<σt_(E), for any 0≦i≦H−1, and any 0≦j≦V−1  (31)

[0076] Alternatively, the average exposure time deviation being below a certain σ t_(E) value can serve as the fine-tune termination criteria, that is, $\begin{matrix} {\frac{\sum\limits_{j = 0}^{V - 1}\quad {\Sigma {\sum\limits_{i = 0}^{H - 1}\quad {{\Sigma\sigma}\quad {t_{E}\left( {i,\quad j} \right)}}}}}{H \cdot V} < {\sigma \quad t_{E}}} & (32) \end{matrix}$

[0077] The two convergence criteria may be combined. Also, the convergence criteria may be combined with the observers subjective judgement as to when the result accomplished is satisfactory.

[0078] Reference is now made to FIG. 6, a block diagram of a pixel electronic shutter control system 200 and associated image sensors based on the considerations and the methods presented in FIGS. 4 and 5. System 200 facilitates individually controlling each pixel.

[0079] System 200 may comprise an image sensor 202, an analog-to-digital (A-to-D) converter 204, an exposure controller 206, an exposure memory array 208 and an optional pixel parameter memory array 209.

[0080] A-to-D converter 204 may comprise an analog input that is connectable to video output of image sensor 202 for receipt of an analog video V_(out). Converter 204 samples video output V_(out) in-sync with the video pixel-outgoing rate, and converts the analog video V_(out) into digital video DV_(out). The digital video DV_(out) may be output from converter 204 on the n-bit DV_(Out), where n may be equal to or greater than q, the number of bits of the digitally-stored exposure time t_(E)(i,j) values.

[0081] The exposure controller 206 receives digital video DV_(Out) from the converter 204 and calculates the new set of exposure time values t_(E)(i,j). An exposure controller program 214 may be stored in an internal or external program memory 210.

[0082] Controller 206 may calculate the photocurrent I_(ph) on the basis of the digital video DV_(Out). Digital video DV_(Out) corresponds to voltage V^(c), which in-turn corresponds to the integrated charge Q_(a) stored in the capacitor.

[0083] Controller 206 may also calculate the initial and the finely-tuned exposure time value t_(E)(i,j) to match the selected dynamic range compression function f(I_(ph)), for each pixel individually. These calculations may be based on processes 40 and 110. Alternatively, the dynamic range compression function f(I_(ph)) may be selected from a dynamic range compression function menu, such as a parameter table 212.

[0084] Controller 206 may then store the calculated q-bits wide t_(E)(i,j) values in exposure time memory 208. The storage may be done at pixel video rate.

[0085] Memory 208 may then load the new exposure time 4 into the image sensor 202. Controller 206 may control the loading.

[0086] The loading may be performed after the completion of the next-to-be-used exposure time values calculation and their storage in the exposure memory 208. Alternatively, the t_(E)(i,j) calculations, their storage in the memory 208, and their loading to image sensor 202 may be performed concurrently. This is especially useful for real-time video image sensors that have to keep up with the video frame rate.

[0087] Controller 206 may decide whether to continue image acquisitions and subsequent exposure time calculation iterations or to stop.

[0088] Memory 208 may be an H×V memory array, which stores the q-bit t_(E)(i,j) values.

[0089] The array may be addressed using the column, the row-, and -i, j indexes. During the charge integration process, the image sensors may be programmed by loading, in one batch for the entire image sensor array, the k-th exposure time bit, which is then subject to integration of length T^(I). It is noted that the integration time can be of any length.

[0090] Concurrently with the integration for the k-th bit, the image sensor is programmed for the i-th bit integration. After the integration, that corresponds to the k-th bit is completed, the integration for the i-th bit can start. It is noted that the programming/integration of all the q bit-planes can be done in any sequence, and the plane bits may be loaded line after line, p bits at a time.

[0091] It is noted that each of the functions described can be integrated on the same die with the image sensor or be a part of a separate chip.

[0092] The per-pixel exposure time processor may be implemented either externally to the image sensor in a form of a chip-set, or to be partially, or fully integrated on the same substrate with the pixel.

[0093] The algorithm for the calculation on the new exposure value t_(E) ^(new)(i,j) may be based on a per pixel parameter table formulated in equation (29). It is noted that additional memory array may be required to store the N(i,j) values.

[0094] The algorithm for the calculation of the standard deviation in exposure time σ t_(E)(i,j) formulated in equation (30) also requires an array storage for N(i,j).

[0095] An image sensor with per-pixel electronic shutter control enables individual control of each pixel's exposure time and thus allows implementation not only of dynamic range compression but many other useful effects as well. Thus, an image sensor along with the apparatus described herein, may select a variety of functions given in an analytical or a tabular form that can be used to achieve a variety of effects.

[0096] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined by the claims that follow: 

1. A method for compressing the dynamic range of an image sensor comprising a multiplicity of pixels, the method comprising the steps of: exposing each of said pixels to light and producing an associated photocurrent per pixel, representative of said light exposure; and on a per-pixel basis, controlling exposure time of each said pixels on the basis of a monotonically rising convex function of said associated photocurrent of each said pixel.
 2. The method according to claim 1, and further comprising the step of calculating said exposure time of each said pixel on the basis of said monotonically rising convex function.
 3. The method according to claim 1, and further comprising the step of calculating said exposure time of each said pixel on the basis of said associated photocurrent.
 4. The method according to claim 2, and wherein said step of controlling comprises the steps of: storing said calculated exposure times per pixel; accessing said stored exposure times from said memory; and programming said pixels according to said accessed exposure times.
 5. The method according to claim 1, further comprising calculating a first derivative of said monotonically rising convex function based upon a desired sensitivity of said exposure time of each said pixel.
 6. The method according to claim 1, further comprising; accumulating charge generally linearly representative of said photocurrent; and calculating said photocurrent as a product of said accumulated charge.
 7. An exposure controller for use in an image sensor comprising a multiplicity of pixels, the controller comprising: a memory for storing calculated exposure time values; a per-pixel parameter table containing local parameters of said pixels; and a processor for combining based on a set of convergence criteria, said stored exposure time values and said parameters in order to determine, on a per-pixel basis, an exposure time of said pixels.
 8. The exposure controller of claim 7, wherein said set of convergence criteria is based on a set of algorithms capable of deriving an appropriate exposure time for every pixel based on said monotonically rising convex function.
 9. The exposure controller of claim 8, wherein said set of algorithms is capable of deriving a fine tuned exposure time of said pixels.
 10. The exposure controller of claim 7, wherein said exposure controller is a chip-set external to said image sensor.
 11. The exposure controller of claim 7, wherein said exposure controller is at least partially integrated on the same substrate as said image sensor. 